package com.wfs.suanfa.jvm;

/**
 * @author: wfs
 * @Date: 2020/11/23 08:11
 * @Description:
 * os和硬件层面：https://blog.csdn.net/qq_26222859/article/details/52235930
 *
 */
public class VolatileTest {
    public static volatile int race=0;

    public static void  increase(){
        race++;
    }
    private static final int THREADS_COUNT=20;

    public static void main(String[] args) {
        Thread[] threads=new Thread[THREADS_COUNT];
        for (int i=0;i<THREADS_COUNT;i++){
            threads[i]=new Thread(new Runnable() {
                @Override
                public void run() {
                    for (int i=0;i<10000;i++){
                        increase();
                    }
                }
            });
            threads[i].start();
        }
        while (Thread.activeCount()>1){
            Thread.yield();
        }
        System.out.println(race);
    }


}
